🧪 اختبار نموذج فاتورة العميل
استخدم هذا الاختبار للتحقق من أن جميع عناصر النموذج تعمل بشكل صحيح
1️⃣ اختبار عناصر النموذج الأساسية
✅ نموذج الفاتورة موجود بـ ID invoiceForm
✅ حقول العميل والعقد محددة بشكل صحيح
✅ حقول التواريخ موجودة ومحددة
✅ حقل الحالة موجود مع الخيارات
2️⃣ اختبار جدول البنود
✅ جدول البنود موجود بـ ID itemsTable
✅ جسم الجدول موجود بـ ID itemsBody
✅ أزرار الإضافة موجودة
✅ حقول البند بصيغة صحيحة: items[index][fieldname]
3️⃣ اختبار زر الحفظ
✅ زر الحفظ موجود بـ type=submit
✅ زر الحفظ له ID submitBtn
✅ زر الحفظ له class btn btn-success
✅ الأيقونة fa-save موجودة
4️⃣ اختبار الحسابات
✅ دالة calculateTotals() موجودة
✅ دالة createItemRow() موجودة
✅ دالة attachItemEventListeners() موجودة
✅ معالجات الأحداث مرتبطة بحقول البند
5️⃣ اختبار الحماية والتحقق
✅ CSRF token موجود (@csrf)
✅ جميع الحقول المطلوبة محددة بـ required
✅ معالج submit يتحقق من وجود بند واحد على الأقل
6️⃣ اختبار المسار والمتحكم
✅ المسار customer-invoices.store موجود
✅ المتحكم CustomerInvoiceController موجود
✅ دالة store() موجودة
✅ معالجة الحركات (Transactions) موجودة
🧬 خطوات الاختبار العملي
- افتح صفحة إضافة فاتورة جديدة: /customer-invoices/create
- اختر عميلًا من القائمة المنسدلة
- ملء حقول الفاتورة الأساسية:
- رقم الفاتورة
- تاريخ الفاتورة
- تاريخ الاستحقاق
- الحالة
- أضف بند واحد على الأقل:
- اضغط زر "إضافة بند"
- ملء الوصف والكمية والسعر
- أضف خصم أو ضريبة إذا لزم الحال
- تحقق من الحسابات:
- تأكد من ظهور الإجمالي الصحيح
- تحقق من حساب الخصم والضريبة
- اضغط زر الحفظ 💾
- يجب أن يظهر indicator تحميل
- يجب أن ينتقل إلى صفحة عرض الفاتورة
- يجب أن تظهر الفاتورة مع جميع البنود